package com.googlecode.c4e.services;

import java.util.List;

import com.googlecode.c4e.api.model.BuildResult;
import com.googlecode.c4e.api.model.Project;
import com.googlecode.c4e.api.model.ProjectGroup;
import com.googlecode.c4e.api.model.Server;

/**
 * @author gfernandes
 */
public interface ContinuumConnector {

	public void connect(Server server) throws Exception;

	public void ping() throws Exception;

	public void buildProject(Integer projectId) throws Exception;

	public List<Project> getProjects(ProjectGroup projectGroup)
			throws Exception;

	public Integer checkProjectState(Integer projectId) throws Exception;

	public BuildResult getLatestBuildResult(Project project) throws Exception;

	public List<BuildResult> getBuildResults(Project project) throws Exception;

	public List<ProjectGroup> getAllProjectGroups(Server server)
			throws Exception;
}
